[INFO] cloning repository https://github.com/huqian123456/ore-hq-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/huqian123456/ore-hq-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuqian123456%2Fore-hq-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuqian123456%2Fore-hq-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f19749fc00d9b1ff4a0df7c0562a8b731caea821
[INFO] fixing huqian123456/ore-hq-server against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuqian123456%2Fore-hq-server" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/huqian123456/ore-hq-server
[INFO] finished tweaking git repo https://github.com/huqian123456/ore-hq-server
[INFO] tweaked toml for git repo https://github.com/huqian123456/ore-hq-server written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/huqian123456/ore-hq-server on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/huqian123456/ore-hq-server already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d13a25dcf37446de9f3f9b2058eb61f0cdf19125d402dbd81da62d0571318936
[INFO] running `Command { std: "docker" "start" "d13a25dcf37446de9f3f9b2058eb61f0cdf19125d402dbd81da62d0571318936", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d13a25dcf37446de9f3f9b2058eb61f0cdf19125d402dbd81da62d0571318936" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d13a25dcf37446de9f3f9b2058eb61f0cdf19125d402dbd81da62d0571318936", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d13a25dcf37446de9f3f9b2058eb61f0cdf19125d402dbd81da62d0571318936" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling serde v1.0.204
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking cpufeatures v0.2.12
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]     Checking tinyvec v1.8.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling indexmap v2.3.0
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking bytes v1.7.1
[INFO] [stderr]    Compiling syn v2.0.72
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking block-padding v0.2.1
[INFO] [stderr]    Compiling cc v1.1.7
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling serde_json v1.0.122
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.92
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]     Checking bitmaps v2.1.0
[INFO] [stderr]    Compiling solana-frozen-abi-macro v1.18.21
[INFO] [stderr]    Compiling libsecp256k1-core v0.2.2
[INFO] [stderr]    Compiling im v15.1.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling borsh v1.5.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling solana-frozen-abi v1.18.21
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking arrayref v0.3.8
[INFO] [stderr]    Compiling wasm-bindgen v0.2.92
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking sized-chunks v0.6.5
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]    Compiling bs58 v0.4.0
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling blake3 v1.5.1
[INFO] [stderr]    Compiling solana-program v1.18.21
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking ed25519 v1.5.3
[INFO] [stderr]     Checking mio v1.0.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling solana-sdk v1.18.21
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking derivation-path v0.2.0
[INFO] [stderr]     Checking qstring v0.7.2
[INFO] [stderr]     Checking uriparse v0.6.4
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking siphasher v0.3.11
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling httparse v1.9.4
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling proc-macro-crate v3.1.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]     Checking alloc-no-stdlib v2.0.4
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking alloc-stdlib v0.2.2
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking brotli-decompressor v4.0.1
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.3
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.10.3
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.9.3
[INFO] [stderr]    Compiling borsh-derive-internal v0.10.3
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.92
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]     Checking brotli v6.0.0
[INFO] [stderr]     Checking flate2 v1.0.31
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking ipnet v2.9.0
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking gethostname v0.2.3
[INFO] [stderr]     Checking ascii v0.9.3
[INFO] [stderr]     Checking plain v0.2.3
[INFO] [stderr]    Compiling solana-program-runtime v1.18.21
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking eager v0.1.0
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking combine v3.8.1
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking solana-security-txt v1.1.1
[INFO] [stderr]     Checking percentage v0.1.0
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]     Checking regex v1.10.6
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]    Compiling solana-version v1.18.21
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]    Compiling solana-vote-program v1.18.21
[INFO] [stderr]     Checking solana-logger v1.18.21
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]    Compiling ark-serialize-derive v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling ark-ff-macros v0.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.204
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling ark-ff-asm v0.4.2
[INFO] [stderr]    Compiling syn_derive v0.1.8
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.92
[INFO] [stderr]    Compiling bytemuck_derive v1.7.0
[INFO] [stderr]     Checking zeroize v1.3.0
[INFO] [stderr]    Compiling borsh-derive v0.9.3
[INFO] [stderr]    Compiling borsh-derive v1.5.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling borsh-derive v0.10.3
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking borsh v0.9.3
[INFO] [stderr]    Compiling solana-sdk-macro v1.18.21
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling serde_with_macros v2.3.3
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking bytemuck v1.16.3
[INFO] [stderr]    Compiling qualifier_attr v0.2.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling spl-discriminator-syn v0.1.2
[INFO] [stderr]     Checking merlin v3.0.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling spl-program-error-derive v0.3.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling spl-discriminator-derive v0.1.2
[INFO] [stderr]    Compiling scroll_derive v0.11.1
[INFO] [stderr]     Checking num_enum v0.7.3
[INFO] [stderr]     Checking tokio v1.39.2
[INFO] [stderr]    Compiling enum-iterator-derive v1.4.0
[INFO] [stderr]     Checking borsh v0.10.3
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]    Compiling async-trait v0.1.81
[INFO] [stderr]     Checking ark-std v0.4.0
[INFO] [stderr]    Compiling num_enum_derive v0.6.1
[INFO] [stderr]     Checking scroll v0.11.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking goblin v0.5.4
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling asn1-rs-derive v0.4.0
[INFO] [stderr]     Checking enum-iterator v1.5.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking num_enum v0.6.1
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling asn1-rs-impl v0.1.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling portable-atomic v1.7.0
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling oid-registry v0.6.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking const-oid v0.7.1
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]     Checking rustls-native-certs v0.6.3
[INFO] [stderr]     Checking der v0.5.1
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]    Compiling dlopen2_derive v0.3.0
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]    Compiling solana-perf v1.18.21
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking asn1-rs v0.5.2
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking fastrand v2.1.0
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking number_prefix v0.4.0
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking dlopen2 v0.5.0
[INFO] [stderr]     Checking solana-rayon-threadlimit v1.18.21
[INFO] [stderr]    Compiling dynasm v2.0.0
[INFO] [stderr]     Checking quinn-udp v0.4.1
[INFO] [stderr]     Checking webpki-roots v0.24.0
[INFO] [stderr]     Checking caps v0.5.5
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]     Checking textwrap v0.16.1
[INFO] [stderr]     Checking shell-words v1.1.0
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking async-compression v0.4.12
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking rcgen v0.10.0
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking spki v0.5.4
[INFO] [stderr]     Checking indicatif v0.17.8
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking pkcs8 v0.8.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking rtoolbox v0.0.2
[INFO] [stderr]    Compiling axum-core v0.4.3
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking quinn-proto v0.10.6
[INFO] [stderr]     Checking der-parser v8.2.0
[INFO] [stderr]     Checking fixed-capacity-vec v1.0.1
[INFO] [stderr]     Checking histogram v0.6.9
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking solana_rbpf v0.8.0
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking rpassword v7.3.1
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]     Checking anstyle-parse v0.2.5
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking x509-parser v0.14.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling visibility v0.1.0
[INFO] [stderr]    Compiling axum v0.7.5
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking serde_bytes v0.11.15
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking curve25519-dalek v3.2.1
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking ark-serialize v0.4.2
[INFO] [stderr]     Checking pbkdf2 v0.4.0
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking tiny-bip39 v0.8.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking serde_with v2.3.3
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking universal-hash v0.4.1
[INFO] [stderr]     Checking ark-ff v0.4.2
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking ctr v0.8.0
[INFO] [stderr]     Checking polyval v0.5.3
[INFO] [stderr]     Checking aead v0.4.3
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking jsonrpc-core v18.0.0
[INFO] [stderr]     Checking quinn v0.10.2
[INFO] [stderr]     Checking aes-gcm-siv v0.10.3
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.2.0
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking colorchoice v1.0.2
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking anstyle-query v1.1.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking hyper-util v0.1.6
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]     Checking anstream v0.6.15
[INFO] [stderr]     Checking async-mutex v1.4.0
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking sha2-const-stable v0.1.0
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking sync_wrapper v1.0.1
[INFO] [stderr]     Checking keccak-const v0.2.0
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking headers v0.4.0
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking clap_builder v4.5.14
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking const-crypto v0.1.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling array-const-fn-init v0.1.1
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking hyper v0.14.30
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking tempfile v3.11.0
[INFO] [stderr]     Checking dialoguer v0.10.4
[INFO] [stderr]     Checking clap v4.5.14
[INFO] [stderr]     Checking zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking ark-poly v0.4.2
[INFO] [stderr]     Checking ark-ec v0.4.2
[INFO] [stderr]     Checking dynasmrt v2.0.0
[INFO] [stderr]     Checking hashx v0.1.5
[INFO] [stderr]     Checking equix v0.1.6
[INFO] [stderr]     Checking axum-extra v0.9.3
[INFO] [stderr]     Checking ark-bn254 v0.4.0
[INFO] [stderr]     Checking light-poseidon v0.2.0
[INFO] [stderr]     Checking spl-program-error v0.3.0
[INFO] [stderr]     Checking spl-discriminator v0.1.0
[INFO] [stderr]     Checking spl-memo v4.0.0
[INFO] [stderr]     Checking spl-token v4.0.0
[INFO] [stderr]     Checking drillx v2.0.0
[INFO] [stderr]     Checking mpl-token-metadata v4.1.2
[INFO] [stderr]     Checking solana-zk-token-sdk v1.18.21
[INFO] [stderr]     Checking solana-measure v1.18.21
[INFO] [stderr]     Checking solana-metrics v1.18.21
[INFO] [stderr]     Checking solana-remote-wallet v1.18.21
[INFO] [stderr]     Checking solana-net-utils v1.18.21
[INFO] [stderr]     Checking solana-connection-cache v1.18.21
[INFO] [stderr]     Checking solana-clap-utils v1.18.21
[INFO] [stderr]     Checking solana-config-program v1.18.21
[INFO] [stderr]     Checking spl-pod v0.1.0
[INFO] [stderr]     Checking spl-type-length-value v0.3.0
[INFO] [stderr]     Checking spl-token-group-interface v0.1.0
[INFO] [stderr]     Checking solana-streamer v1.18.21
[INFO] [stderr]     Checking spl-tlv-account-resolution v0.5.1
[INFO] [stderr]     Checking spl-token-metadata-interface v0.2.0
[INFO] [stderr]     Checking spl-transfer-hook-interface v0.4.1
[INFO] [stderr]     Checking spl-token-2022 v1.0.0
[INFO] [stderr]     Checking solana-udp-client v1.18.21
[INFO] [stderr]     Checking spl-associated-token-account v2.3.0
[INFO] [stderr]     Checking solana-account-decoder v1.18.21
[INFO] [stderr]     Checking ore-utils v2.1.0
[INFO] [stderr]     Checking ore-api v2.1.0
[INFO] [stderr]     Checking solana-transaction-status v1.18.21
[INFO] [stderr]     Checking solana-rpc-client-api v1.18.21
[INFO] [stderr]     Checking solana-rpc-client v1.18.21
[INFO] [stderr]     Checking solana-pubsub-client v1.18.21
[INFO] [stderr]     Checking solana-quic-client v1.18.21
[INFO] [stderr]     Checking solana-rpc-client-nonce-utils v1.18.21
[INFO] [stderr]     Checking solana-tpu-client v1.18.21
[INFO] [stderr]     Checking solana-thin-client v1.18.21
[INFO] [stderr]     Checking solana-client v1.18.21
[INFO] [stderr]     Checking ore-hq-server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/ore_utils.rs (2 fixes)
[INFO] [stderr]        Fixed src/main.rs (5 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:597:35
[INFO] [stdout]     |
[INFO] [stdout] 597 |         while let Some(Ok(msg)) = receiver.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 601 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:752:31
[INFO] [stdout]     |
[INFO] [stdout] 740 |     while let Some(client_message) = receiver_channel.recv().await {
[INFO] [stdout]     |                                      -----------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 745 |                     let shared_state = shared_state.read().await;
[INFO] [stdout]     |                         ------------   -------------------------
[INFO] [stdout]     |                         |              |                   |
[INFO] [stdout]     |                         |              |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |              |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `shared_state` calls a custom destructor
[INFO] [stdout]     |                         `shared_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 748 |                             let mut ready_clients = ready_clients.lock().await;
[INFO] [stdout]     |                                 -----------------   --------------------------
[INFO] [stdout]     |                                 |                   |                    |
[INFO] [stdout]     |                                 |                   |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |                   |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `ready_clients` calls a custom destructor
[INFO] [stdout]     |                                 `ready_clients` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 752 |                         match sender.1.lock().await.send(Message::Text(String::from("Client successfully added."))).await { Ok(_) => {
[INFO] [stdout]     |                               ---------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |               |                                                                     |
[INFO] [stdout]     |                               |               |                                                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               |               |                                                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                               |               up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                               up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 756 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 765 |                     let proof = proof.lock().await;
[INFO] [stdout]     |                         -----   ------------------
[INFO] [stdout]     |                         |       |            |
[INFO] [stdout]     |                         |       |            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                         |       |            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                         |       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `proof` calls a custom destructor
[INFO] [stdout]     |                         `proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 776 |                             let mut epoch_hashes = epoch_hashes.write().await;
[INFO] [stdout]     |                                 ----------------   --------------------------
[INFO] [stdout]     |                                 |                  |                    |
[INFO] [stdout]     |                                 |                  |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                 |                  |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |                  this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                 |                  `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                 `epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shared_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ready_clients` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:740:62
[INFO] [stdout]     |
[INFO] [stdout] 740 |     while let Some(client_message) = receiver_channel.recv().await {
[INFO] [stdout]     |                                      ------------------------^^^^^
[INFO] [stdout]     |                                      |                       |
[INFO] [stdout]     |                                      |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                      |                       up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 745 |                     let shared_state = shared_state.read().await;
[INFO] [stdout]     |                         ------------   -------------------------
[INFO] [stdout]     |                         |              |                   |
[INFO] [stdout]     |                         |              |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |              |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `shared_state` calls a custom destructor
[INFO] [stdout]     |                         `shared_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 748 |                             let mut ready_clients = ready_clients.lock().await;
[INFO] [stdout]     |                                 -----------------   --------------------------
[INFO] [stdout]     |                                 |                   |                    |
[INFO] [stdout]     |                                 |                   |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |                   |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `ready_clients` calls a custom destructor
[INFO] [stdout]     |                                 `ready_clients` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 752 |                         match sender.1.lock().await.send(Message::Text(String::from("Client successfully added."))).await { Ok(_) => {
[INFO] [stdout]     |                               ---------------------                                                                 -----
[INFO] [stdout]     |                               |               |                                                                     |
[INFO] [stdout]     |                               |               |                                                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#6`         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 765 |                     let proof = proof.lock().await;
[INFO] [stdout]     |                         -----   ------------------
[INFO] [stdout]     |                         |       |            |
[INFO] [stdout]     |                         |       |            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                         |       |            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                         |       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `proof` calls a custom destructor
[INFO] [stdout]     |                         `proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 776 |                             let mut epoch_hashes = epoch_hashes.write().await;
[INFO] [stdout]     |                                 ----------------   --------------------------
[INFO] [stdout]     |                                 |                  |                    |
[INFO] [stdout]     |                                 |                  |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                 |                  |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |                  this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                 |                  `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                 `epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 792 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `shared_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ready_clients` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ore_utils.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 292 |     for h in handles {
[INFO] [stdout]     |              -------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 293 |         match h.join() { Ok(Some((nonce, difficulty, hash, nonces_checked))) => {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 303 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:241:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 let ready_clients_lock = ready_clients.lock().await;
[INFO] [stdout]     |                     ------------------   --------------------------
[INFO] [stdout]     |                     |                    |                    |
[INFO] [stdout]     |                     |                    |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                    |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `ready_clients_lock` calls a custom destructor
[INFO] [stdout]     |                     `ready_clients_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 241 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                 |                up until Edition 2021 `#21` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                 up until Edition 2021 `#20` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 242 |             };
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 247 |                 let solution = app_epoch_hashes.read().await.best_hash.solution;
[INFO] [stdout]     |                                -----------------------------
[INFO] [stdout]     |                                |                       |
[INFO] [stdout]     |                                |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 261 |                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                             ---------   ----------------------
[INFO] [stdout]     |                             |           |                |
[INFO] [stdout]     |                             |           |                this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                             |           |                `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             |           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `nonce` calls a custom destructor
[INFO] [stdout]     |                             `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 269 |                         let shared_state = app_shared_state.read().await;
[INFO] [stdout]     |                             ------------   -----------------------------
[INFO] [stdout]     |                             |              |                       |
[INFO] [stdout]     |                             |              |                       this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                             |              |                       `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                             |              `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `shared_state` calls a custom destructor
[INFO] [stdout]     |                             `shared_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 |                             let _ = sender.1.lock().await.send(Message::Binary(bin_data.to_vec())).await;
[INFO] [stdout]     |                                     --------------------------------------------------------------------
[INFO] [stdout]     |                                     |               |                                              |
[INFO] [stdout]     |                                     |               |                                              this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                     |               |                                              `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     |               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                     |               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                     `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                     `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                     `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 284 |                             let _ = ready_clients.lock().await.remove(&client);
[INFO] [stdout]     |                                     --------------------------
[INFO] [stdout]     |                                     |                    |
[INFO] [stdout]     |                                     |                    this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                     |                    `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                     `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 290 |             tokio::time::sleep(Duration::from_secs(5)).await;
[INFO] [stdout]     |             ------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ready_clients_lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shared_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:305:17
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                 |                up until Edition 2021 `#30` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                 up until Edition 2021 `#29` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 306 |             };
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 312 |                     app_epoch_hashes.read().await.best_hash.solution.clone()
[INFO] [stdout]     |                     -----------------------------
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                         app_prio_fee.lock().await.clone()
[INFO] [stdout]     |                         -------------------------
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         |                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ------------------------------------------------------------------------------
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |                             let sig = rpc_client.send_and_confirm_transaction(&tx).await;
[INFO] [stdout]     |                                 ---   --------------------------------------------------
[INFO] [stdout]     |                                 |     |                                            |
[INFO] [stdout]     |                                 |     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 |     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `sig` calls a custom destructor
[INFO] [stdout]     |                                 `sig` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                                     if let Ok(loaded_proof) = get_proof(&rpc_client, signer.pubkey()).await {
[INFO] [stdout]     |                                                               ---------------------------------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                                                 app_epoch_hashes.read().await.submissions.clone()
[INFO] [stdout]     |                                                 -----------------------------
[INFO] [stdout]     |                                                 |                       |
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                 |                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 380 |                                                 let mut mut_proof = app_proof.lock().await;
[INFO] [stdout]     |                                                     -------------   ----------------------
[INFO] [stdout]     |                                                     |               |                |
[INFO] [stdout]     |                                                     |               |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                     |               |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     |               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                     |               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     `mut_proof` calls a custom destructor
[INFO] [stdout]     |                                                     `mut_proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |                                         tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                                         ----------------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                         `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |                                     let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                         ---------   ----------------------
[INFO] [stdout]     |                                         |           |                |
[INFO] [stdout]     |                                         |           |                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                         |           |                `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |           this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                         |           `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `nonce` calls a custom destructor
[INFO] [stdout]     |                                         `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 397 |                                     let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                         --------------------   ------------------------------
[INFO] [stdout]     |                                         |                      |                        |
[INFO] [stdout]     |                                         |                      |                        this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                         |                      |                        `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                         |                      `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `mut_epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                         `mut_epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 |                                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                             ---------   ----------------------
[INFO] [stdout]     |                                             |           |                |
[INFO] [stdout]     |                                             |           |                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                             |           |                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |           this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |           `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                                         let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                             --------------------   ------------------------------
[INFO] [stdout]     |                                             |                      |                        |
[INFO] [stdout]     |                                             |                      |                        this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                             |                      |                        `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |                      this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                             |                      `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                             `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                             tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                             ----------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                             `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                         tokio::time::sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |                         -----------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                         `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 |                 tokio::time::sleep(Duration::from_secs(cutoff as u64)).await;
[INFO] [stdout]     |                 ------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                 `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sig` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:312:21
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                     app_epoch_hashes.read().await.best_hash.solution.clone()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                     |                       up until Edition 2021 `#30` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                     up until Edition 2021 `#29` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 313 |                 };
[INFO] [stdout]     |                  - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 314 |                 if let Some(solution) = solution {
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                         app_prio_fee.lock().await.clone()
[INFO] [stdout]     |                         -------------------------
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         |                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ------------------------------------------------------------------------------
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |                             let sig = rpc_client.send_and_confirm_transaction(&tx).await;
[INFO] [stdout]     |                                 ---   --------------------------------------------------
[INFO] [stdout]     |                                 |     |                                            |
[INFO] [stdout]     |                                 |     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 |     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `sig` calls a custom destructor
[INFO] [stdout]     |                                 `sig` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                                     if let Ok(loaded_proof) = get_proof(&rpc_client, signer.pubkey()).await {
[INFO] [stdout]     |                                                               ---------------------------------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                                                 app_epoch_hashes.read().await.submissions.clone()
[INFO] [stdout]     |                                                 -----------------------------
[INFO] [stdout]     |                                                 |                       |
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                 |                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 380 |                                                 let mut mut_proof = app_proof.lock().await;
[INFO] [stdout]     |                                                     -------------   ----------------------
[INFO] [stdout]     |                                                     |               |                |
[INFO] [stdout]     |                                                     |               |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                     |               |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     |               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                     |               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     `mut_proof` calls a custom destructor
[INFO] [stdout]     |                                                     `mut_proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |                                         tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                                         ----------------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                         `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |                                     let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                         ---------   ----------------------
[INFO] [stdout]     |                                         |           |                |
[INFO] [stdout]     |                                         |           |                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                         |           |                `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |           this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                         |           `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `nonce` calls a custom destructor
[INFO] [stdout]     |                                         `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 397 |                                     let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                         --------------------   ------------------------------
[INFO] [stdout]     |                                         |                      |                        |
[INFO] [stdout]     |                                         |                      |                        this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                         |                      |                        `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                         |                      `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `mut_epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                         `mut_epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 |                                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                             ---------   ----------------------
[INFO] [stdout]     |                                             |           |                |
[INFO] [stdout]     |                                             |           |                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                             |           |                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |           this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |           `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                                         let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                             --------------------   ------------------------------
[INFO] [stdout]     |                                             |                      |                        |
[INFO] [stdout]     |                                             |                      |                        this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                             |                      |                        `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |                      this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                             |                      `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                             `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                             tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                             ----------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                             `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                         tokio::time::sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |                         -----------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                         `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 |                 tokio::time::sleep(Duration::from_secs(cutoff as u64)).await;
[INFO] [stdout]     |                 ------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                 `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sig` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:319:25
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                     app_epoch_hashes.read().await.best_hash.solution.clone()
[INFO] [stdout]     |                     -----------------------------
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                         app_prio_fee.lock().await.clone()
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                         |                   up until Edition 2021 `#30` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         |                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                         up until Edition 2021 `#29` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 320 |                     };
[INFO] [stdout]     |                      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ------------------------------------------------------------------------------
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |                             let sig = rpc_client.send_and_confirm_transaction(&tx).await;
[INFO] [stdout]     |                                 ---   --------------------------------------------------
[INFO] [stdout]     |                                 |     |                                            |
[INFO] [stdout]     |                                 |     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 |     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `sig` calls a custom destructor
[INFO] [stdout]     |                                 `sig` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                                     if let Ok(loaded_proof) = get_proof(&rpc_client, signer.pubkey()).await {
[INFO] [stdout]     |                                                               ---------------------------------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                                                 app_epoch_hashes.read().await.submissions.clone()
[INFO] [stdout]     |                                                 -----------------------------
[INFO] [stdout]     |                                                 |                       |
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                 |                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 380 |                                                 let mut mut_proof = app_proof.lock().await;
[INFO] [stdout]     |                                                     -------------   ----------------------
[INFO] [stdout]     |                                                     |               |                |
[INFO] [stdout]     |                                                     |               |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                     |               |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     |               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                     |               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     `mut_proof` calls a custom destructor
[INFO] [stdout]     |                                                     `mut_proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |                                         tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                                         ----------------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                         `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |                                     let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                         ---------   ----------------------
[INFO] [stdout]     |                                         |           |                |
[INFO] [stdout]     |                                         |           |                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                         |           |                `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |           this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                         |           `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `nonce` calls a custom destructor
[INFO] [stdout]     |                                         `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 397 |                                     let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                         --------------------   ------------------------------
[INFO] [stdout]     |                                         |                      |                        |
[INFO] [stdout]     |                                         |                      |                        this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                         |                      |                        `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                         |                      `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `mut_epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                         `mut_epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 |                                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                             ---------   ----------------------
[INFO] [stdout]     |                                             |           |                |
[INFO] [stdout]     |                                             |           |                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                             |           |                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |           this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |           `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                                         let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                             --------------------   ------------------------------
[INFO] [stdout]     |                                             |                      |                        |
[INFO] [stdout]     |                                             |                      |                        this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                             |                      |                        `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |                      this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                             |                      `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                             `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                             tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                             ----------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                             `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                         tokio::time::sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |                         -----------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                         `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 |                 tokio::time::sleep(Duration::from_secs(cutoff as u64)).await;
[INFO] [stdout]     |                 ------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                 `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sig` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:363:49
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                     app_epoch_hashes.read().await.best_hash.solution.clone()
[INFO] [stdout]     |                     -----------------------------
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                         app_prio_fee.lock().await.clone()
[INFO] [stdout]     |                         -------------------------
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         |                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ------------------------------------------------------------------------------
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |                             let sig = rpc_client.send_and_confirm_transaction(&tx).await;
[INFO] [stdout]     |                                 ---   --------------------------------------------------
[INFO] [stdout]     |                                 |     |                                            |
[INFO] [stdout]     |                                 |     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 |     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `sig` calls a custom destructor
[INFO] [stdout]     |                                 `sig` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                                     if let Ok(loaded_proof) = get_proof(&rpc_client, signer.pubkey()).await {
[INFO] [stdout]     |                                                               ---------------------------------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                                                 app_epoch_hashes.read().await.submissions.clone()
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                 |                       |
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                                                 |                       up until Edition 2021 `#30` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                 |                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                                                 up until Edition 2021 `#29` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 364 |                                             };
[INFO] [stdout]     |                                              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 380 |                                                 let mut mut_proof = app_proof.lock().await;
[INFO] [stdout]     |                                                     -------------   ----------------------
[INFO] [stdout]     |                                                     |               |                |
[INFO] [stdout]     |                                                     |               |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                     |               |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     |               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                     |               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     `mut_proof` calls a custom destructor
[INFO] [stdout]     |                                                     `mut_proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |                                         tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                                         ----------------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                         `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |                                     let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                         ---------   ----------------------
[INFO] [stdout]     |                                         |           |                |
[INFO] [stdout]     |                                         |           |                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                         |           |                `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |           this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                         |           `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `nonce` calls a custom destructor
[INFO] [stdout]     |                                         `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 397 |                                     let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                         --------------------   ------------------------------
[INFO] [stdout]     |                                         |                      |                        |
[INFO] [stdout]     |                                         |                      |                        this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                         |                      |                        `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                         |                      `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `mut_epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                         `mut_epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 |                                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                             ---------   ----------------------
[INFO] [stdout]     |                                             |           |                |
[INFO] [stdout]     |                                             |           |                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                             |           |                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |           this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |           `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                                         let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                             --------------------   ------------------------------
[INFO] [stdout]     |                                             |                      |                        |
[INFO] [stdout]     |                                             |                      |                        this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                             |                      |                        `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |                      this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                             |                      `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                             `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                             tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                             ----------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                             `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                         tokio::time::sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |                         -----------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                         `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 |                 tokio::time::sleep(Duration::from_secs(cutoff as u64)).await;
[INFO] [stdout]     |                 ------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                 `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sig` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:338:27
[INFO] [stdout]     |
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           |                                                                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 429 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:338:100
[INFO] [stdout]     |
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                                                                                                    ^^^^^
[INFO] [stdout]     |                                                                                                    |
[INFO] [stdout]     |                                                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 429 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:597:35
[INFO] [stdout]     |
[INFO] [stdout] 597 |         while let Some(Ok(msg)) = receiver.next().await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 601 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:752:31
[INFO] [stdout]     |
[INFO] [stdout] 740 |     while let Some(client_message) = receiver_channel.recv().await {
[INFO] [stdout]     |                                      -----------------------------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 745 |                     let shared_state = shared_state.read().await;
[INFO] [stdout]     |                         ------------   -------------------------
[INFO] [stdout]     |                         |              |                   |
[INFO] [stdout]     |                         |              |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |              |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `shared_state` calls a custom destructor
[INFO] [stdout]     |                         `shared_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 748 |                             let mut ready_clients = ready_clients.lock().await;
[INFO] [stdout]     |                                 -----------------   --------------------------
[INFO] [stdout]     |                                 |                   |                    |
[INFO] [stdout]     |                                 |                   |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |                   |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `ready_clients` calls a custom destructor
[INFO] [stdout]     |                                 `ready_clients` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 752 |                         match sender.1.lock().await.send(Message::Text(String::from("Client successfully added."))).await { Ok(_) => {
[INFO] [stdout]     |                               ---------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |               |                                                                     |
[INFO] [stdout]     |                               |               |                                                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               |               |                                                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                               |               up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                               up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 756 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 765 |                     let proof = proof.lock().await;
[INFO] [stdout]     |                         -----   ------------------
[INFO] [stdout]     |                         |       |            |
[INFO] [stdout]     |                         |       |            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                         |       |            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                         |       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `proof` calls a custom destructor
[INFO] [stdout]     |                         `proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 776 |                             let mut epoch_hashes = epoch_hashes.write().await;
[INFO] [stdout]     |                                 ----------------   --------------------------
[INFO] [stdout]     |                                 |                  |                    |
[INFO] [stdout]     |                                 |                  |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                 |                  |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |                  this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                 |                  `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                 `epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shared_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ready_clients` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:740:62
[INFO] [stdout]     |
[INFO] [stdout] 740 |     while let Some(client_message) = receiver_channel.recv().await {
[INFO] [stdout]     |                                      ------------------------^^^^^
[INFO] [stdout]     |                                      |                       |
[INFO] [stdout]     |                                      |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                      |                       up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 745 |                     let shared_state = shared_state.read().await;
[INFO] [stdout]     |                         ------------   -------------------------
[INFO] [stdout]     |                         |              |                   |
[INFO] [stdout]     |                         |              |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         |              |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `shared_state` calls a custom destructor
[INFO] [stdout]     |                         `shared_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 748 |                             let mut ready_clients = ready_clients.lock().await;
[INFO] [stdout]     |                                 -----------------   --------------------------
[INFO] [stdout]     |                                 |                   |                    |
[INFO] [stdout]     |                                 |                   |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |                   |                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `ready_clients` calls a custom destructor
[INFO] [stdout]     |                                 `ready_clients` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 752 |                         match sender.1.lock().await.send(Message::Text(String::from("Client successfully added."))).await { Ok(_) => {
[INFO] [stdout]     |                               ---------------------                                                                 -----
[INFO] [stdout]     |                               |               |                                                                     |
[INFO] [stdout]     |                               |               |                                                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                               |               this value will be stored in a temporary; let us call it `#6`         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 765 |                     let proof = proof.lock().await;
[INFO] [stdout]     |                         -----   ------------------
[INFO] [stdout]     |                         |       |            |
[INFO] [stdout]     |                         |       |            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                         |       |            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                         |       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `proof` calls a custom destructor
[INFO] [stdout]     |                         `proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 776 |                             let mut epoch_hashes = epoch_hashes.write().await;
[INFO] [stdout]     |                                 ----------------   --------------------------
[INFO] [stdout]     |                                 |                  |                    |
[INFO] [stdout]     |                                 |                  |                    this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                 |                  |                    `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |                  this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                 |                  `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                 `epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 792 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `shared_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ready_clients` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/ore_utils.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 292 |     for h in handles {
[INFO] [stdout]     |              -------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 293 |         match h.join() { Ok(Some((nonce, difficulty, hash, nonces_checked))) => {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 303 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:241:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 let ready_clients_lock = ready_clients.lock().await;
[INFO] [stdout]     |                     ------------------   --------------------------
[INFO] [stdout]     |                     |                    |                    |
[INFO] [stdout]     |                     |                    |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |                    |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                     |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `ready_clients_lock` calls a custom destructor
[INFO] [stdout]     |                     `ready_clients_lock` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 241 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                 |                up until Edition 2021 `#21` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 |                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                 up until Edition 2021 `#20` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 242 |             };
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 247 |                 let solution = app_epoch_hashes.read().await.best_hash.solution;
[INFO] [stdout]     |                                -----------------------------
[INFO] [stdout]     |                                |                       |
[INFO] [stdout]     |                                |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 261 |                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                             ---------   ----------------------
[INFO] [stdout]     |                             |           |                |
[INFO] [stdout]     |                             |           |                this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                             |           |                `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                             |           `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `nonce` calls a custom destructor
[INFO] [stdout]     |                             `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 269 |                         let shared_state = app_shared_state.read().await;
[INFO] [stdout]     |                             ------------   -----------------------------
[INFO] [stdout]     |                             |              |                       |
[INFO] [stdout]     |                             |              |                       this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                             |              |                       `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                             |              `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `shared_state` calls a custom destructor
[INFO] [stdout]     |                             `shared_state` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 |                             let _ = sender.1.lock().await.send(Message::Binary(bin_data.to_vec())).await;
[INFO] [stdout]     |                                     --------------------------------------------------------------------
[INFO] [stdout]     |                                     |               |                                              |
[INFO] [stdout]     |                                     |               |                                              this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                     |               |                                              `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     |               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                     |               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                     `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                     `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                     `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 284 |                             let _ = ready_clients.lock().await.remove(&client);
[INFO] [stdout]     |                                     --------------------------
[INFO] [stdout]     |                                     |                    |
[INFO] [stdout]     |                                     |                    this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                     |                    `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                     `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 290 |             tokio::time::sleep(Duration::from_secs(5)).await;
[INFO] [stdout]     |             ------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `ready_clients_lock` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `shared_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:305:17
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                 |                up until Edition 2021 `#30` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                 up until Edition 2021 `#29` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 306 |             };
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 312 |                     app_epoch_hashes.read().await.best_hash.solution.clone()
[INFO] [stdout]     |                     -----------------------------
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                         app_prio_fee.lock().await.clone()
[INFO] [stdout]     |                         -------------------------
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         |                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ------------------------------------------------------------------------------
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |                             let sig = rpc_client.send_and_confirm_transaction(&tx).await;
[INFO] [stdout]     |                                 ---   --------------------------------------------------
[INFO] [stdout]     |                                 |     |                                            |
[INFO] [stdout]     |                                 |     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 |     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `sig` calls a custom destructor
[INFO] [stdout]     |                                 `sig` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                                     if let Ok(loaded_proof) = get_proof(&rpc_client, signer.pubkey()).await {
[INFO] [stdout]     |                                                               ---------------------------------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                                                 app_epoch_hashes.read().await.submissions.clone()
[INFO] [stdout]     |                                                 -----------------------------
[INFO] [stdout]     |                                                 |                       |
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                 |                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 380 |                                                 let mut mut_proof = app_proof.lock().await;
[INFO] [stdout]     |                                                     -------------   ----------------------
[INFO] [stdout]     |                                                     |               |                |
[INFO] [stdout]     |                                                     |               |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                     |               |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     |               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                     |               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     `mut_proof` calls a custom destructor
[INFO] [stdout]     |                                                     `mut_proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |                                         tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                                         ----------------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                         `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |                                     let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                         ---------   ----------------------
[INFO] [stdout]     |                                         |           |                |
[INFO] [stdout]     |                                         |           |                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                         |           |                `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |           this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                         |           `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `nonce` calls a custom destructor
[INFO] [stdout]     |                                         `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 397 |                                     let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                         --------------------   ------------------------------
[INFO] [stdout]     |                                         |                      |                        |
[INFO] [stdout]     |                                         |                      |                        this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                         |                      |                        `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                         |                      `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `mut_epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                         `mut_epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 |                                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                             ---------   ----------------------
[INFO] [stdout]     |                                             |           |                |
[INFO] [stdout]     |                                             |           |                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                             |           |                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |           this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |           `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                                         let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                             --------------------   ------------------------------
[INFO] [stdout]     |                                             |                      |                        |
[INFO] [stdout]     |                                             |                      |                        this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                             |                      |                        `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |                      this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                             |                      `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                             `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                             tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                             ----------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                             `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                         tokio::time::sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |                         -----------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                         `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 |                 tokio::time::sleep(Duration::from_secs(cutoff as u64)).await;
[INFO] [stdout]     |                 ------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                 `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sig` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:312:21
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                     app_epoch_hashes.read().await.best_hash.solution.clone()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                     |                       up until Edition 2021 `#30` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                     up until Edition 2021 `#29` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 313 |                 };
[INFO] [stdout]     |                  - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 314 |                 if let Some(solution) = solution {
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                         app_prio_fee.lock().await.clone()
[INFO] [stdout]     |                         -------------------------
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         |                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ------------------------------------------------------------------------------
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |                             let sig = rpc_client.send_and_confirm_transaction(&tx).await;
[INFO] [stdout]     |                                 ---   --------------------------------------------------
[INFO] [stdout]     |                                 |     |                                            |
[INFO] [stdout]     |                                 |     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 |     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `sig` calls a custom destructor
[INFO] [stdout]     |                                 `sig` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                                     if let Ok(loaded_proof) = get_proof(&rpc_client, signer.pubkey()).await {
[INFO] [stdout]     |                                                               ---------------------------------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                                                 app_epoch_hashes.read().await.submissions.clone()
[INFO] [stdout]     |                                                 -----------------------------
[INFO] [stdout]     |                                                 |                       |
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                 |                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 380 |                                                 let mut mut_proof = app_proof.lock().await;
[INFO] [stdout]     |                                                     -------------   ----------------------
[INFO] [stdout]     |                                                     |               |                |
[INFO] [stdout]     |                                                     |               |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                     |               |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     |               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                     |               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     `mut_proof` calls a custom destructor
[INFO] [stdout]     |                                                     `mut_proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |                                         tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                                         ----------------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                         `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |                                     let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                         ---------   ----------------------
[INFO] [stdout]     |                                         |           |                |
[INFO] [stdout]     |                                         |           |                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                         |           |                `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |           this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                         |           `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `nonce` calls a custom destructor
[INFO] [stdout]     |                                         `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 397 |                                     let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                         --------------------   ------------------------------
[INFO] [stdout]     |                                         |                      |                        |
[INFO] [stdout]     |                                         |                      |                        this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                         |                      |                        `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                         |                      `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `mut_epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                         `mut_epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 |                                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                             ---------   ----------------------
[INFO] [stdout]     |                                             |           |                |
[INFO] [stdout]     |                                             |           |                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                             |           |                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |           this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |           `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                                         let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                             --------------------   ------------------------------
[INFO] [stdout]     |                                             |                      |                        |
[INFO] [stdout]     |                                             |                      |                        this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                             |                      |                        `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |                      this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                             |                      `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                             `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                             tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                             ----------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                             `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                         tokio::time::sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |                         -----------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                         `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 |                 tokio::time::sleep(Duration::from_secs(cutoff as u64)).await;
[INFO] [stdout]     |                 ------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                 `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sig` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:319:25
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                     app_epoch_hashes.read().await.best_hash.solution.clone()
[INFO] [stdout]     |                     -----------------------------
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                         app_prio_fee.lock().await.clone()
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                         |                   up until Edition 2021 `#30` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         |                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                         up until Edition 2021 `#29` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 320 |                     };
[INFO] [stdout]     |                      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ------------------------------------------------------------------------------
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |                             let sig = rpc_client.send_and_confirm_transaction(&tx).await;
[INFO] [stdout]     |                                 ---   --------------------------------------------------
[INFO] [stdout]     |                                 |     |                                            |
[INFO] [stdout]     |                                 |     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 |     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `sig` calls a custom destructor
[INFO] [stdout]     |                                 `sig` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                                     if let Ok(loaded_proof) = get_proof(&rpc_client, signer.pubkey()).await {
[INFO] [stdout]     |                                                               ---------------------------------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                                                 app_epoch_hashes.read().await.submissions.clone()
[INFO] [stdout]     |                                                 -----------------------------
[INFO] [stdout]     |                                                 |                       |
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                 |                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 380 |                                                 let mut mut_proof = app_proof.lock().await;
[INFO] [stdout]     |                                                     -------------   ----------------------
[INFO] [stdout]     |                                                     |               |                |
[INFO] [stdout]     |                                                     |               |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                     |               |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     |               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                     |               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     `mut_proof` calls a custom destructor
[INFO] [stdout]     |                                                     `mut_proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |                                         tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                                         ----------------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                         `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |                                     let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                         ---------   ----------------------
[INFO] [stdout]     |                                         |           |                |
[INFO] [stdout]     |                                         |           |                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                         |           |                `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |           this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                         |           `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `nonce` calls a custom destructor
[INFO] [stdout]     |                                         `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 397 |                                     let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                         --------------------   ------------------------------
[INFO] [stdout]     |                                         |                      |                        |
[INFO] [stdout]     |                                         |                      |                        this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                         |                      |                        `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                         |                      `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `mut_epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                         `mut_epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 |                                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                             ---------   ----------------------
[INFO] [stdout]     |                                             |           |                |
[INFO] [stdout]     |                                             |           |                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                             |           |                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |           this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |           `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                                         let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                             --------------------   ------------------------------
[INFO] [stdout]     |                                             |                      |                        |
[INFO] [stdout]     |                                             |                      |                        this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                             |                      |                        `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |                      this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                             |                      `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                             `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                             tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                             ----------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                             `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                         tokio::time::sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |                         -----------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                         `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 |                 tokio::time::sleep(Duration::from_secs(cutoff as u64)).await;
[INFO] [stdout]     |                 ------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                 `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sig` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.76s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: solana-client v1.18.21
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:363:49
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 app_proof.lock().await.clone()
[INFO] [stdout]     |                 ----------------------
[INFO] [stdout]     |                 |                |
[INFO] [stdout]     |                 |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                     app_epoch_hashes.read().await.best_hash.solution.clone()
[INFO] [stdout]     |                     -----------------------------
[INFO] [stdout]     |                     |                       |
[INFO] [stdout]     |                     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                         app_prio_fee.lock().await.clone()
[INFO] [stdout]     |                         -------------------------
[INFO] [stdout]     |                         |                   |
[INFO] [stdout]     |                         |                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         |                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ------------------------------------------------------------------------------
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           |                                                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |                             let sig = rpc_client.send_and_confirm_transaction(&tx).await;
[INFO] [stdout]     |                                 ---   --------------------------------------------------
[INFO] [stdout]     |                                 |     |                                            |
[INFO] [stdout]     |                                 |     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                 |     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 |     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                 |     `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `sig` calls a custom destructor
[INFO] [stdout]     |                                 `sig` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 353 |                                     if let Ok(loaded_proof) = get_proof(&rpc_client, signer.pubkey()).await {
[INFO] [stdout]     |                                                               ---------------------------------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 363 |                                                 app_epoch_hashes.read().await.submissions.clone()
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                 |                       |
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                                                 |                       up until Edition 2021 `#30` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                 |                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                 |                       `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                                                 up until Edition 2021 `#29` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 364 |                                             };
[INFO] [stdout]     |                                              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 380 |                                                 let mut mut_proof = app_proof.lock().await;
[INFO] [stdout]     |                                                     -------------   ----------------------
[INFO] [stdout]     |                                                     |               |                |
[INFO] [stdout]     |                                                     |               |                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                                     |               |                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     |               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                     |               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                     `mut_proof` calls a custom destructor
[INFO] [stdout]     |                                                     `mut_proof` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 386 |                                         tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                                         ----------------------------------------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                         `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |                                     let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                         ---------   ----------------------
[INFO] [stdout]     |                                         |           |                |
[INFO] [stdout]     |                                         |           |                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                         |           |                `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |           this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                         |           `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `nonce` calls a custom destructor
[INFO] [stdout]     |                                         `nonce` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 397 |                                     let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                         --------------------   ------------------------------
[INFO] [stdout]     |                                         |                      |                        |
[INFO] [stdout]     |                                         |                      |                        this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                         |                      |                        `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         |                      this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                         |                      `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `mut_epoch_hashes` calls a custom destructor
[INFO] [stdout]     |                                         `mut_epoch_hashes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 409 |                                         let mut nonce = app_nonce.lock().await;
[INFO] [stdout]     |                                             ---------   ----------------------
[INFO] [stdout]     |                                             |           |                |
[INFO] [stdout]     |                                             |           |                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                             |           |                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |           this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |           `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 415 |                                         let mut mut_epoch_hashes = app_epoch_hashes.write().await;
[INFO] [stdout]     |                                             --------------------   ------------------------------
[INFO] [stdout]     |                                             |                      |                        |
[INFO] [stdout]     |                                             |                      |                        this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                             |                      |                        `#25` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             |                      this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                             |                      `#24` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                             `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 423 |                             tokio::time::sleep(Duration::from_millis(500)).await;
[INFO] [stdout]     |                             ----------------------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                             `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |                         tokio::time::sleep(Duration::from_millis(1000)).await;
[INFO] [stdout]     |                         -----------------------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                         `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 431 |                 tokio::time::sleep(Duration::from_secs(cutoff as u64)).await;
[INFO] [stdout]     |                 ------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                 `#28` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `sig` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/read_guard.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl<'a, T: ?Sized> Drop for RwLockReadGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_proof` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `nonce` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `mut_epoch_hashes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/sync/rwlock/write_guard.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | impl<'a, T: ?Sized> Drop for RwLockWriteGuard<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.39.2/src/runtime/time/entry.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | impl Drop for TimerEntry {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:338:27
[INFO] [stdout]     |
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |                                                                        |
[INFO] [stdout]     |                           |                                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           |                                                                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 429 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:338:100
[INFO] [stdout]     |
[INFO] [stdout] 315 |                     let signer = app_wallet.clone();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `signer` calls a custom destructor
[INFO] [stdout]     |                         `signer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 338 |                     match rpc_client.get_latest_blockhash_with_commitment(rpc_client.commitment()).await { Ok((hash, _slot)) => {
[INFO] [stdout]     |                                                                                                    ^^^^^
[INFO] [stdout]     |                                                                                                    |
[INFO] [stdout]     |                                                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 429 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `signer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-1.0.1/src/secret.rs:43:10
[INFO] [stdout]     |
[INFO] [stdout]  43 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: ore-hq-server v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking ore-hq-server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `password` is never read
[INFO] [stdout]   --> src/main.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Config {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 54 |     password: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MiningDataChannelMessage` is never used
[INFO] [stdout]   --> src/ore_utils.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum MiningDataChannelMessage {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_reset_ix` is never used
[INFO] [stdout]   --> src/ore_utils.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn get_reset_ix(signer: Pubkey) -> Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claim_ix` is never used
[INFO] [stdout]   --> src/ore_utils.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn get_claim_ix(signer: Pubkey, beneficiary: Pubkey, claim_amount: u64) -> Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_stake_ix` is never used
[INFO] [stdout]   --> src/ore_utils.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn get_stake_ix(signer: Pubkey, sender: Pubkey, stake_amount: u64) -> Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ore_mint` is never used
[INFO] [stdout]   --> src/ore_utils.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn get_ore_mint() -> Pubkey {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ore_epoch_duration` is never used
[INFO] [stdout]   --> src/ore_utils.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn get_ore_epoch_duration() -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ore_decimals` is never used
[INFO] [stdout]   --> src/ore_utils.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn get_ore_decimals() -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_proof_and_treasury_with_busses` is never used
[INFO] [stdout]   --> src/ore_utils.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub async fn get_proof_and_treasury_with_busses(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_treasury` is never used
[INFO] [stdout]    --> src/ore_utils.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub async fn get_treasury(client: &RpcClient) -> Result<Treasury, ()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `treasury_tokens_pubkey` is never used
[INFO] [stdout]    --> src/ore_utils.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn treasury_tokens_pubkey() -> Pubkey {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clock_account` is never used
[INFO] [stdout]    --> src/ore_utils.rs:195:14
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub async fn get_clock_account(client: &RpcClient) -> Result<Clock, ()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_hash_par` is never used
[INFO] [stdout]    --> src/ore_utils.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn find_hash_par(proof: Proof, cutoff_time: u64, threads: u64, min_difficulty: u32, mining_messages_reciever: Receiver<MiningDa...
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `password` is never read
[INFO] [stdout]   --> src/main.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Config {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 54 |     password: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MiningDataChannelMessage` is never used
[INFO] [stdout]   --> src/ore_utils.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum MiningDataChannelMessage {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_reset_ix` is never used
[INFO] [stdout]   --> src/ore_utils.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn get_reset_ix(signer: Pubkey) -> Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claim_ix` is never used
[INFO] [stdout]   --> src/ore_utils.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn get_claim_ix(signer: Pubkey, beneficiary: Pubkey, claim_amount: u64) -> Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_stake_ix` is never used
[INFO] [stdout]   --> src/ore_utils.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn get_stake_ix(signer: Pubkey, sender: Pubkey, stake_amount: u64) -> Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ore_mint` is never used
[INFO] [stdout]   --> src/ore_utils.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn get_ore_mint() -> Pubkey {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ore_epoch_duration` is never used
[INFO] [stdout]   --> src/ore_utils.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn get_ore_epoch_duration() -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_ore_decimals` is never used
[INFO] [stdout]   --> src/ore_utils.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn get_ore_decimals() -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_proof_and_treasury_with_busses` is never used
[INFO] [stdout]   --> src/ore_utils.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub async fn get_proof_and_treasury_with_busses(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_treasury` is never used
[INFO] [stdout]    --> src/ore_utils.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub async fn get_treasury(client: &RpcClient) -> Result<Treasury, ()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `treasury_tokens_pubkey` is never used
[INFO] [stdout]    --> src/ore_utils.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn treasury_tokens_pubkey() -> Pubkey {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_clock_account` is never used
[INFO] [stdout]    --> src/ore_utils.rs:195:14
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub async fn get_clock_account(client: &RpcClient) -> Result<Clock, ()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_hash_par` is never used
[INFO] [stdout]    --> src/ore_utils.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn find_hash_par(proof: Proof, cutoff_time: u64, threads: u64, min_difficulty: u32, mining_messages_reciever: Receiver<MiningDa...
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.79s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: solana-client v1.18.21
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "d13a25dcf37446de9f3f9b2058eb61f0cdf19125d402dbd81da62d0571318936", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d13a25dcf37446de9f3f9b2058eb61f0cdf19125d402dbd81da62d0571318936", kill_on_drop: false }`
[INFO] [stdout] d13a25dcf37446de9f3f9b2058eb61f0cdf19125d402dbd81da62d0571318936
